; > ErrorMsgs
 [ 1=0 ;debug code
FSHOW STMFD SP!,{R14,R0,R10,R9}
 SWI WRITES
 = "AA ",0
 MOV R10,R0
 BL WORDHX
 SWI WRITES
 = " AX ",0
 MOV R10,R1
 BL WORDHX
 SWI WRITES
 = " AG ",0
 MOV R10,R2
 BL WORDHX
 SWI WRITES
 = " AS ",0
 MOV R10,R3
 BL WORDHX
 SWI NEWLINE
 SWI WRITES
 = "WA ",0
 MOV R10,R4
 BL WORDHX
 SWI WRITES
 = " WX ",0
 MOV R10,R5
 BL WORDHX
 SWI WRITES
 = " WG ",0
 MOV R10,R6
 BL WORDHX
 SWI WRITES
 = " WS ",0
 MOV R10,R7
 BL WORDHX
 SWI NEWLINE
 SWI WRITES
 = "SP ",0
 MOV R10,R13
 BL WORDHX
 SWI WRITES
 = " AELINE ",0
 MOV R10,R11
 BL WORDHX
 SWI WRITES
 = " LINE ",0
 MOV R10,R12
 BL WORDHX
 SWI NEWLINE
 LDMFD SP!,{R0,R10,R9,PC}^
WORDSP SWI WRITEI+" "
 ]
;print R10
WORDHX STMFD SP!,{R0,R9}
 MOV R9,#32-4
WORDLP MOV R0,R10,LSR R9
 AND R0,R0,#15
 CMP R0,#9
 ORRLS R0,R0,#"0"
 ADDHI R0,R0,#"A"-10
 SWI WRITEC
 SUBS R9,R9,#4
 BPL WORDLP
 LDMFD SP!,{R0,R9}
 MOVS PC,R14
EREXCEPT BL MSG
 = 0,0
 [ OWNERRORS=1
 = "Unknown setting of exception control.",0
 ]
 ALIGN
ERSILL BL MSG
 = 0,1
 [ OWNERRORS=1
 = "Silly!",0
 ]
 ALIGN
ERNUMM BL MSG
 = 0,2
 [ OWNERRORS=1
 = "No room to do this renumber",0
 ]
 ALIGN
ERNUMO BL MSG
 = 0,3
 [ OWNERRORS=1
 = "Line numbers larger than 65279 would be generated by this renumber",0
 ]
 ALIGN
ALLOCR BL MSG
 = 0,4
 [ OWNERRORS=1
 = "No room",0
 ]
 ALIGN
ERLINELONG BL MSG
 = 0,5
 [ OWNERRORS=1
 = "Line too long",0
 ]
 ALIGN
ERSTOP BL MSG
 = 0,6
 [ OWNERRORS=1
 = "Stopped",0
 ]
 ALIGN
ERLISTO BL MSG
 = 0,7
 [ OWNERRORS=1
 = "Invalid LISTO option",0
 ]
 ALIGN
ERTWINO BL MSG
 = 0,8
 [ OWNERRORS=1
 = "Invalid TWINO option",0
 ]
 ALIGN
ERCATASLIST MOV R0,#0
 STR R0,[ARGP,#LOCALARLIST]
ERRQ1 BL MSG
 = 0,9
 [ OWNERRORS=1
 = "Corruption of stack",0
 ]
 ALIGN
ONERRX BL MSG
 = 0,10
 [ OWNERRORS=1
 = "Error control status not found on stack for RESTORE ERROR",0
 ]
 ALIGN
BADIC BL MSG
 = 0,11
 [ OWNERRORS=1
 = "Missing incore name",0
 ]
 ALIGN
USESLINENUMBERS BL MSG
 = 0,12
 [ OWNERRORS=1
 = "LIST/TWIN found line number reference",0
 ]
 ALIGN
HELPTOKENNO BL MSG
 = 0,13
 [ OWNERRORS=1
 = "HELP has no information on this keyword",0
 ]
 ALIGN
BADIPHEX BL MSG
 = 0,14
 [ OWNERRORS=1
 = "Incorrect in-core file description",0
 ]
 ALIGN
INSTALLBAD BL MSG
 = 0,15
 [ OWNERRORS=1
 = "INSTALL cannot be used in a program",0
 ]
 ALIGN
ERASS1 BL MSG
 = 1,16
 [ OWNERRORS=1
 = "No such mnemonic",0
 ]
 ALIGN
ERASS1EQU BL MSG
 = 1,17
 [ OWNERRORS=1
 = "No such suffix on EQU",0
 ]
 ALIGN
ERASS2 BL MSG
 = 2,18
 [ OWNERRORS=1
 = "Bad immediate constant",0
 ]
 ALIGN
ERASS2A BL MSG
 = 2,19
 [ OWNERRORS=1
 = "Bad address offset",0
 ]
 ALIGN
ERASS2LIM BL MSG
 = 2,20
 [ OWNERRORS=1
 = "Assembler limit reached",0
 ]
 ALIGN
ERASS2S BL MSG
 = 2,21
 [ OWNERRORS=1
 = "Bad shift",0
 ]
 ALIGN
ERASS3 BL MSG
 = 3,22
 [ OWNERRORS=1
 = "Bad register",0
 ]
 ALIGN
ERASSMUL BL MSG
 = 3,23
 [ OWNERRORS=1
 = "Duplicate register in multiply",0
 ]
 ALIGN
MISSEQ BL MSG
 = 4,24
 [ OWNERRORS=1
 = "Missing =",0
 ]
 ALIGN
MISSEQFOR BL MSG
 = 4,25
 [ OWNERRORS=1
 = "Missing = in FOR statement",0
 ]
 ALIGN
MISTAK BL MSG
 = 4,26
 [ OWNERRORS=1
 = "Mistake",0
 ]
 ALIGN
ERCOMM BL MSG
 = 5,27
 [ OWNERRORS=1
 = "Missing ,",0
 ]
 ALIGN
ERTYPEINT BL MSG
 = 6,28
 [ OWNERRORS=1
 = "Type mismatch: number needed",0
 ]
 ALIGN
ERTYPENUM BL MSG
 = 6,29
 [ OWNERRORS=1
 = "Type mismatch: numeric variable needed",0
 ]
 ALIGN
ERTYPENUMARRAY BL MSG
 = 6,30
 [ OWNERRORS=1
 = "Type mismatch: numeric array needed",0
 ]
 ALIGN
ERTYPESTR BL MSG
 = 6,31
 [ OWNERRORS=1
 = "Type mismatch: string needed",0
 ]
 ALIGN
ERTYPESTRING BL MSG
 = 6,32
 [ OWNERRORS=1
 = "Type mismatch: string variable needed",0
 ]
 ALIGN
ERTYPESTRINGARRAY BL MSG
 = 6,33
 [ OWNERRORS=1
 = "Type mismatch: string array needed",0
 ]
 ALIGN
ERTYPEARRAY BL MSG
 = 6,34
 [ OWNERRORS=1
 = "Type mismatch: array needed",0
 ]
 ALIGN
ERTYPEARRAYB BL MSG
 = 6,35
 [ OWNERRORS=1
 = "Type mismatch between arrays",0
 ]
 ALIGN
ERTYPEARRAYC BL MSG
 = 6,36
 [ OWNERRORS=1
 = "Can't assign to array of this size",0
 ]
 ALIGN
ERSIZE BL MSG
 = 6,37
 [ OWNERRORS=1
 = "Array type mismatch as parameter",0
 ]
 ALIGN
ERTYPESWAP BL MSG
 = 6,38
 [ OWNERRORS=1
 = "Can't SWAP arrays of different types",0
 ]
 ALIGN
ERRFN BL MSG
 = 7,39
 [ OWNERRORS=1
 = "Not in a function",0
 ]
 ALIGN
ERDOLL BL MSG
 = 8,40
 [ OWNERRORS=1
 = "Too low a value for $<number>",0
 ]
 ALIGN
ERMISQ BL MSG
 = 9,41
 [ OWNERRORS=1
 = "Missing """,0
 ]
 ALIGN
ERDIMFN BL MSG
 = 10,42
 [ OWNERRORS=1
 = "DIM() function needs an array",0
 ]
 ALIGN
ERMATMULSPACE BL MSG
 = 10,43
 [ OWNERRORS=1
 = "No room to do matrix multiply with source(s) the same as destination",0
 ]
 ALIGN
BADDIMSUB BL MSG
 = 10,44
 [ OWNERRORS=1
 = "Impossible dimension",0
 ]
 ALIGN
BADDIMLIST BL MSG
 = 10,45
 [ OWNERRORS=1
 = "No end of dimension list )",0
 ]
 ALIGN
BADDIM BL MSG
 = 10,46
 [ OWNERRORS=1
 = "Bad DIM statement",0
 ]
 ALIGN
BADDIMSIGN BL MSG
 = 10,47
 [ OWNERRORS=1
 = "Can't DIM negative amount",0
 ]
 ALIGN
ERNDIM BL MSG
 = 10,48
 [ OWNERRORS=1
 = "Arrays cannot be redimensioned",0
 ]
 ALIGN
BADDIMSIZE BL MSG
 = 11,49
 [ OWNERRORS=1
 = "No room for this DIM",0
 ]
 ALIGN
DIMRAM BL MSG
 = 11,50
 [ OWNERRORS=1
 = "No room for this dimension",0
 ]
 ALIGN
ERREND BL MSG
 = 11,51
 [ OWNERRORS=1
 = "Attempt to allocate insufficient memory",0
 ]
 ALIGN
ERRENDARRAYREF BL MSG
 = 11,52
 [ OWNERRORS=1
 = "Unreferenced local array in END=",0
 ]
 ALIGN
CANTLOAD BL MSG
 = 11,53
 [ OWNERRORS=1
 = "No room for program",0
 ]
 ALIGN
ERRNLC BL MSG
 = 12,54
 [ OWNERRORS=1
 = "Items can only be made local in a function or procedure",0
 ]
 ALIGN
ENDPRE BL MSG
 = 13,55
 [ OWNERRORS=1
 = "Not in a procedure",0
 ]
 ALIGN
ERARRW BL MSG
 = 14,56
 [ OWNERRORS=1
 = "Reference array incorrect",0
 ]
 ALIGN
ERARRY BL MSG
 = 14,57
 [ OWNERRORS=1
 = "Unknown array",0
 ]
 ALIGN
ERARRYDIM BL MSG
 = 14,58
 [ OWNERRORS=1
 = "Unknown array in DIM() function",0
 ]
 ALIGN
ERARRZ BL MSG
 = 14,59
 [ OWNERRORS=1
 = "Undimensioned array",0
 ]
 ALIGN
ERRSUB BL MSG
 = 15,60
 [ OWNERRORS=1
 = "Subscript out of range",0
 ]
 ALIGN
ERRSB2 BL MSG
 = 15,61
 [ OWNERRORS=1
 = "Incorrect number of subscripts",0
 ]
 ALIGN
ERSYNT BL MSG
 = 16,62
 [ OWNERRORS=1
 = "Syntax error",0
 ]
 ALIGN
ESCAPE BL MSG
 = 17,63
 [ OWNERRORS=1
 = "Escape",0
 ]
 ALIGN
ZDIVOR BL MSG
 = 18,64
 [ OWNERRORS=1
 = "Division by zero",0
 ]
 ALIGN
ERLONG BL MSG
 = 19,65
 [ OWNERRORS=1
 = "String too long",0
 ]
 ALIGN
FOVR BL MSG
 = 20,66
 [ OWNERRORS=1
 = "Number too big",0
 ]
 ALIGN
 [ FP=0
FOVR1 BL MSG
 = 20,67
 [ OWNERRORS=1
 = "Number too big for arc Sine or arc Cosine",0
 ]
 ALIGN
FSQRTN BL MSG
 = 21,68
 [ OWNERRORS=1
 = "Negative root",0
 ]
 ALIGN
ERFLOG BL MSG
 = 22,69
 [ OWNERRORS=1
 = "Logarithm range",0
 ]
 ALIGN
FRNGQQ BL MSG
 = 23,70
 [ OWNERRORS=1
 = "Accuracy lost in Sine/Cosine/Tangent",0
 ]
 ALIGN
ERFEXP BL MSG
 = 24,71
 [ OWNERRORS=1
 = "Exponent range",0
 ]
 ALIGN
 ]
FACERR BL MSG
 = 26,72
 [ OWNERRORS=1
 = "Unknown or missing variable",0
 ]
 ALIGN
ERVARAR BL MSG
 = 26,73
 [ OWNERRORS=1
 = "Can't use array reference here",0
 ]
 ALIGN
ERBRA BL MSG
 = 27,74
 [ OWNERRORS=1
 = "Missing )",0
 ]
 ALIGN
ERBRA1 BL MSG
 = 27,75
 [ OWNERRORS=1
 = "Missing (",0
 ]
 ALIGN
ERASSB1 BL MSG
 = 27,76
 [ OWNERRORS=1
 = "Missing ]",0
 ]
 ALIGN
ERASSB2 BL MSG
 = 27,77
 [ OWNERRORS=1
 = "Missing {",0
 ]
 ALIGN
ERASSB3 BL MSG
 = 27,78
 [ OWNERRORS=1
 = "Missing }",0
 ]
 ALIGN
ERHEX BL MSG
 = 28,79
 [ OWNERRORS=1
 = "Bad Hex",0
 ]
 ALIGN
ERHEX2 BL MSG
 = 28,80
 [ OWNERRORS=1
 = "Hex number too large",0
 ]
 ALIGN
ERBIN BL MSG
 = 28,81
 [ OWNERRORS=1
 = "Bad Binary",0
 ]
 ALIGN
FNMISS BL MSG
 = 29,82
 [ OWNERRORS=1
 = "No such function/procedure",0
 ]
 ALIGN
FNCALL BL MSG
 = 30,83
 [ OWNERRORS=1
 = "Bad call of function/procedure",0
 ]
 ALIGN
ARGMAT BL MSG
 = 31,84
 [ OWNERRORS=1
 = "Arguments of function/procedure incorrect",0
 ]
 ALIGN
ARGMATRET BL MSG
 = 31,85
 [ OWNERRORS=1
 = "Invalid RETURN actual parameter",0
 ]
 ALIGN
ARGMATARR BL MSG
 = 31,86
 [ OWNERRORS=1
 = "Invalid array actual parameter",0
 ]
 ALIGN
ERNEXT BL MSG
 = 32,87
 [ OWNERRORS=1
 = "Not in a FOR loop",0
 ]
 ALIGN
NEXTER BL MSG
 = 33,88
 [ OWNERRORS=1
 = "Can't match FOR",0
 ]
 ALIGN
FORCV BL MSG
 = 34,89
 [ OWNERRORS=1
 = "Bad FOR control variable",0
 ]
 ALIGN
FORSTEP BL MSG
 = 35,90
 [ OWNERRORS=1
 = "The step cannot be zero",0
 ]
 ALIGN
FORTO BL MSG
 = 36,91
 [ OWNERRORS=1
 = "Missing TO",0
 ]
 ALIGN
ERDEEPPROC BL MSG
 = 37,92
 [ OWNERRORS=1
 = "No room for function/procedure call",0
 ]
 ALIGN
ERGOSB BL MSG
 = 38,93
 [ OWNERRORS=1
 = "Not in a subroutine",0
 ]
 ALIGN
ONER BL MSG
 = 39,94
 [ OWNERRORS=1
 = "ON syntax",0
 ]
 ALIGN
ONRGER BL MSG
 = 40,95
 [ OWNERRORS=1
 = "ON range",0
 ]
 ALIGN
NOLINE BL MSG
 = 41,96
 [ OWNERRORS=1
 = "No such line",0
 ]
 ALIGN
DATAOT BL MSG
 = 42,97
 [ OWNERRORS=1
 = "Out of data",0
 ]
 ALIGN
ERRDATASTACK BL MSG
 = 42,98
 [ OWNERRORS=1
 = "DATA pointer not found on stack for RESTORE DATA",0
 ]
 ALIGN
ERREPT BL MSG
 = 43,99
 [ OWNERRORS=1
 = "Not in a REPEAT loop",0
 ]
 ALIGN
ERDEEPNEST BL MSG
 = 44,100
 [ OWNERRORS=1
 = "Too many nested structures",0
 ]
 ALIGN
CHANNE BL MSG
 = 45,101
 [ OWNERRORS=1
 = "Missing #",0
 ]
 ALIGN
ERWHIL BL MSG
 = 46,102
 [ OWNERRORS=1
 = "Not in a WHILE loop",0
 ]
 ALIGN
NOENDC BL MSG
 = 47,103
 [ OWNERRORS=1
 = "Missing ENDCASE",0
 ]
 ALIGN
ERCASE1 BL MSG
 = 48,104
 [ OWNERRORS=1
 = "OF missing from CASE statement",0
 ]
 ALIGN
ERCASE BL MSG
 = 48,105
 [ OWNERRORS=1
 = "CASE..OF statement must be the last thing on a line",0
 ]
 ALIGN
NOENDI BL MSG
 = 49,106
 [ OWNERRORS=1
 = "Missing ENDIF",0
 ]
 ALIGN
ERMOUS BL MSG
 = 50,107
 [ OWNERRORS=1
 = "Bad MOUSE variable",0
 ]
 ALIGN
ERSYSINPUTS BL MSG
 = 51,108
 [ OWNERRORS=1
 = "Too many input expressions for SYS",0
 ]
 ALIGN
ERSYSOUTPUTS BL MSG
 = 51,109
 [ OWNERRORS=1
 = "Too many output variables for SYS",0
 ]
 ALIGN
ERINSTALL BL MSG
 = 52,110
 [ OWNERRORS=1
 = "Can't install library",0
 ]
 ALIGN
BADPRO1 BL MSG
 = 52,111
 [ OWNERRORS=1
 = "Bad program used as function/procedure library",0
 ]
 ALIGN
NOLIBROOM BL MSG
 = 52,112
 [ OWNERRORS=1
 = "No room for library",0
 ]
 ALIGN
ERASS2C BL MSG
 = 2,113
 [ OWNERRORS=1
 = "Bad coprocessor opcode",0
 ]
 ALIGN
ERASSB4 BL MSG
 = 27,114
 [ OWNERRORS=1
 = "Missing [",0
 ]
 ALIGN
ERASSFP1 BL MSG
 = 1,115
 [ OWNERRORS=1
 = "Bad FP precision",0
 ]
Basic_End
 END
